package com.ruoyi.system.mapper.wechat;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.common.core.domain.entity.wechat.WechatInspectionProblem;
import com.ruoyi.system.domain.wechat.request.vo.FilterForWechatInspectionProblemListVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * 巡检问题
 *
 * @author jiexiang.sun/Jason
 * @version 1.0.0
 * @create 2022-03-04 0:07
 **/
public interface WechatInspectionProblemMapper extends BaseMapper<WechatInspectionProblem> {

    Integer selectListCountByFilterParams(FilterForWechatInspectionProblemListVO params);
    List<WechatInspectionProblem> selectListByFilterParams(FilterForWechatInspectionProblemListVO params);

    Integer selectCountByWorkOrderList(FilterForWechatInspectionProblemListVO params);
    List<WechatInspectionProblem> selectWorkOrderList(FilterForWechatInspectionProblemListVO params);

    Integer selectCountByApproval(FilterForWechatInspectionProblemListVO params);
    List<WechatInspectionProblem> getApprovalList(FilterForWechatInspectionProblemListVO params);

    List<WechatInspectionProblem> getAllList(FilterForWechatInspectionProblemListVO params);

    List<WechatInspectionProblem> getByOtherTask(FilterForWechatInspectionProblemListVO params);

    List<WechatInspectionProblem> getLinkedListForInfo(@Param("problemId") String problemId);

    List<Map<String, Object>> statisticsByProblemToArea(FilterForWechatInspectionProblemListVO params);

    List<Map<String, Object>> statisticsByProblemToStreet(FilterForWechatInspectionProblemListVO params);

    List<Map<String, Object>> statisticsByProblemTypeToArea(FilterForWechatInspectionProblemListVO params);

    List<Map<String, Object>> statisticsByProblemTypeToStreet(FilterForWechatInspectionProblemListVO params);
}
